An increasing amount of computing functionality is capable of being performed remotely. In many instances, a user can login to a virtual desktop application on a computing device in order to be able to access applications and data from a desktop application executing on a remote computer. The desktop application will typically involve an operating system and a number of applications configured to execute on that operating system. In many instances, it can be desirable to update the operating system to a new version, such as to apply fixes or simply to have a more current version. With each change in the operating system, a user typically has to go through a number of compatibility checks in order to ensure that the applications are compatible with the updated operating system. The process of checking compatibility of each application can be cumbersome, and it can be difficult to detect all potential incompatibilities. These updates can occur relatively frequently, such that a user can expend a significant amount of effort determining compatibility. If an incompatibility is found, such as where an application no longer executes as intended, it can be necessary to undo the version upgrade, or otherwise adjust the software for the virtual desktop in order to get the application (and other applications) executing properly again. In environments such as enterprise environments, where there can be many different applications of different versions and configurations for various users, this can be an expensive and time consuming endeavor, which can prevent software updates from being applied as quickly as they could in order to potential issues to be discovered by others and addressed in a subsequent update.